#ifndef __SCNS_ILI9341_H__
#define __SCNS_ILI9341_H__

#include "ScnsConfig.h"

#if defined(SCNS_ILI9341_ENABLE)&&SCNS_ILI9341_ENABLE==1

#include "ScnsYing.h"
#include "ScnsBspIli9341.h"
#include "ScnsLcd.h"

extern ScnsStatus scnsIli9341Init(ScnsIli9341Enum stn);
extern ScnsStatus scnsIli9341WriteColor(ScnsIli9341Enum stN,ScnsColorRgb565 color[],uint32 n,uint8 last,ScnsLock*lock);
extern ScnsStatus scnsIli9341ReadColor(ScnsIli9341Enum stN,uint8 color[],uint32 n,uint8 last,ScnsLock*lock);
extern ScnsStatus scnsIli9341SetAddress(ScnsIli9341Enum stn,Point plu,Point prd,uint8 write);
extern Point scnsIli9341GetBorder(ScnsIli9341Enum stn);
extern ScnsStatus scnsIli9341SetBackgroundLight(ScnsIli9341Enum stn,ScnsLcdBackgroundLightStatus status);
extern ScnsStatus scnsIli9341AsyncCallback(ScnsIli9341Enum stN);

#define scnsIli9341LcdPhysicalConfig(xx,yy)  {.x=(xx),.y=(yy),.fullScreen=0,.writeColorFormat=SCNS_COLOR_FORMAT_RGB565,.readColorFormat=SCNS_COLOR_FORMAT_RGB666_P1221}

#endif
#endif
